﻿ 



using System.Runtime.Serialization;
using System;
using RestAPICore;
using System.Linq;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Threading;
using System.IO;
using System.Collections.ObjectModel;
using System.ComponentModel;
namespace MyContract
{





	public partial class SampleClient:JsonClientBase
	{
		public SampleClient()
		{
			//TODO: Set BaseUri property Here 在这里指定服务基础地址
			BaseUri = new Uri("http://api.t.sina.com.cn");
					
			_executeJsonTestGetIncludeDateTimeFieldMethod= new JsonMethod<JsonTestGetIncludeDateTimeFieldRequest, JsonTestGetIncludeDateTimeFieldResponse>(this, new Uri("", UriKind.Relative));
						
			_executeJsonTestTestFileMethod= new JsonMethod<JsonTestTestFileRequest, JsonTestTestFileResponse>(this, new Uri("/sssa/{id}/{content}", UriKind.Relative));
						
			_executeJsonTestTestGetMethod= new JsonMethod<JsonTestTestGetRequest, JsonTestTestGetResponse>(this, new Uri("", UriKind.Relative));
						
			_executeJsonTestTestNumMethod= new JsonMethod<JsonTestTestNumRequest, JsonTestTestNumResponse>(this, new Uri("", UriKind.Relative));
						
			_executeJsonTestTestPostMethod= new JsonMethod<JsonTestTestPostRequest, JsonTestTestPostResponse>(this, new Uri("", UriKind.Relative));
						
					
			_requestJsonTestGetIncludeDateTimeFieldMethod= new JsonMethod<JsonTestGetIncludeDateTimeFieldRequest, Stream>(this, new Uri("", UriKind.Relative));
						
			_requestJsonTestTestFileMethod= new JsonMethod<JsonTestTestFileRequest, Stream>(this, new Uri("/sssa/{id}/{content}", UriKind.Relative));
						
			_requestJsonTestTestGetMethod= new JsonMethod<JsonTestTestGetRequest, Stream>(this, new Uri("", UriKind.Relative));
						
			_requestJsonTestTestNumMethod= new JsonMethod<JsonTestTestNumRequest, Stream>(this, new Uri("", UriKind.Relative));
						
			_requestJsonTestTestPostMethod= new JsonMethod<JsonTestTestPostRequest, Stream>(this, new Uri("", UriKind.Relative));
					}
		
				
		JsonMethod<JsonTestGetIncludeDateTimeFieldRequest, JsonTestGetIncludeDateTimeFieldResponse> _executeJsonTestGetIncludeDateTimeFieldMethod;
		
		/// <summary>
		/// This is a async execution of \jsonTest\GetIncludeDateTimeField rest call. 
		/// It returns JsonResponse&lt;JsonTestGetIncludeDateTimeFieldResponse&gt;
		/// </summary>
		public async Task<JsonResponse<JsonTestGetIncludeDateTimeFieldResponse>> ExecuteJsonTestGetIncludeDateTimeFieldAsync (
			JsonTestGetIncludeDateTimeFieldRequest request,
			CancellationToken cancellationToken =default(CancellationToken),
			IProgress<ProgressReport> progress=null 
			)			
		{
			return await _executeJsonTestGetIncludeDateTimeFieldMethod.GetResponseAsync(request, cancellationToken, progress);
		}
		
		/// <summary>
		/// This is a sync execution of \jsonTest\GetIncludeDateTimeField rest call. 
		/// It returns JsonResponse&lt;JsonTestGetIncludeDateTimeFieldResponse&gt;
		/// </summary>
		public JsonResponse<JsonTestGetIncludeDateTimeFieldResponse> ExecuteJsonTestGetIncludeDateTimeField(JsonTestGetIncludeDateTimeFieldRequest request)
		{
			return ExecuteJsonTestGetIncludeDateTimeFieldAsync(request).Result;
		}
		
		
				
		JsonMethod<JsonTestTestFileRequest, JsonTestTestFileResponse> _executeJsonTestTestFileMethod;
		
		/// <summary>
		/// This is a async execution of \jsonTest\TestFile rest call. 
		/// It returns JsonResponse&lt;JsonTestTestFileResponse&gt;
		/// Here comes request Comments:
		///      asdasdijpaisdj
		///      asdasd
		///    
		/// </summary>
		public async Task<JsonResponse<JsonTestTestFileResponse>> ExecuteJsonTestTestFileAsync (
			JsonTestTestFileRequest request,
			CancellationToken cancellationToken =default(CancellationToken),
			IProgress<ProgressReport> progress=null 
			)			
		{
			return await _executeJsonTestTestFileMethod.GetResponseAsync(request, cancellationToken, progress);
		}
		
		/// <summary>
		/// This is a sync execution of \jsonTest\TestFile rest call. 
		/// It returns JsonResponse&lt;JsonTestTestFileResponse&gt;
		/// Here comes request Comments:
		///      asdasdijpaisdj
		///      asdasd
		///    
		/// </summary>
		public JsonResponse<JsonTestTestFileResponse> ExecuteJsonTestTestFile(JsonTestTestFileRequest request)
		{
			return ExecuteJsonTestTestFileAsync(request).Result;
		}
		
		
				
		JsonMethod<JsonTestTestGetRequest, JsonTestTestGetResponse> _executeJsonTestTestGetMethod;
		
		/// <summary>
		/// This is a async execution of \jsonTest\TestGet rest call. 
		/// It returns JsonResponse&lt;JsonTestTestGetResponse&gt;
		/// </summary>
		public async Task<JsonResponse<JsonTestTestGetResponse>> ExecuteJsonTestTestGetAsync (
			JsonTestTestGetRequest request,
			CancellationToken cancellationToken =default(CancellationToken),
			IProgress<ProgressReport> progress=null 
			)			
		{
			return await _executeJsonTestTestGetMethod.GetResponseAsync(request, cancellationToken, progress);
		}
		
		/// <summary>
		/// This is a sync execution of \jsonTest\TestGet rest call. 
		/// It returns JsonResponse&lt;JsonTestTestGetResponse&gt;
		/// </summary>
		public JsonResponse<JsonTestTestGetResponse> ExecuteJsonTestTestGet(JsonTestTestGetRequest request)
		{
			return ExecuteJsonTestTestGetAsync(request).Result;
		}
		
		
				
		JsonMethod<JsonTestTestNumRequest, JsonTestTestNumResponse> _executeJsonTestTestNumMethod;
		
		/// <summary>
		/// This is a async execution of \jsonTest\TestNum rest call. 
		/// It returns JsonResponse&lt;JsonTestTestNumResponse&gt;
		/// </summary>
		public async Task<JsonResponse<JsonTestTestNumResponse>> ExecuteJsonTestTestNumAsync (
			JsonTestTestNumRequest request,
			CancellationToken cancellationToken =default(CancellationToken),
			IProgress<ProgressReport> progress=null 
			)			
		{
			return await _executeJsonTestTestNumMethod.GetResponseAsync(request, cancellationToken, progress);
		}
		
		/// <summary>
		/// This is a sync execution of \jsonTest\TestNum rest call. 
		/// It returns JsonResponse&lt;JsonTestTestNumResponse&gt;
		/// </summary>
		public JsonResponse<JsonTestTestNumResponse> ExecuteJsonTestTestNum(JsonTestTestNumRequest request)
		{
			return ExecuteJsonTestTestNumAsync(request).Result;
		}
		
		
				
		JsonMethod<JsonTestTestPostRequest, JsonTestTestPostResponse> _executeJsonTestTestPostMethod;
		
		/// <summary>
		/// This is a async execution of \jsonTest\TestPost rest call. 
		/// It returns JsonResponse&lt;JsonTestTestPostResponse&gt;
		/// </summary>
		public async Task<JsonResponse<JsonTestTestPostResponse>> ExecuteJsonTestTestPostAsync (
			JsonTestTestPostRequest request,
			CancellationToken cancellationToken =default(CancellationToken),
			IProgress<ProgressReport> progress=null 
			)			
		{
			return await _executeJsonTestTestPostMethod.GetResponseAsync(request, cancellationToken, progress);
		}
		
		/// <summary>
		/// This is a sync execution of \jsonTest\TestPost rest call. 
		/// It returns JsonResponse&lt;JsonTestTestPostResponse&gt;
		/// </summary>
		public JsonResponse<JsonTestTestPostResponse> ExecuteJsonTestTestPost(JsonTestTestPostRequest request)
		{
			return ExecuteJsonTestTestPostAsync(request).Result;
		}
		
		
						
		JsonMethod<JsonTestGetIncludeDateTimeFieldRequest, Stream> _requestJsonTestGetIncludeDateTimeFieldMethod;
		/// <summary>
		/// This is a async request of \jsonTest\GetIncludeDateTimeField rest call. 
		///It returns JsonResponse&lt;Stream&gt;
		/// </summary>
		public async Task<JsonResponse<Stream>> RequestJsonTestGetIncludeDateTimeFieldAsync (
			JsonTestGetIncludeDateTimeFieldRequest request,
			CancellationToken cancellationToken =default(CancellationToken),
			IProgress<ProgressReport> progress=null 
			)			
		{
			return await _requestJsonTestGetIncludeDateTimeFieldMethod.GetResponseAsync(request, cancellationToken, progress);
		}
		/// <summary>
		/// This is a sync request of \jsonTest\GetIncludeDateTimeField rest call.
		///It returns JsonResponse&lt;Stream&gt;
		/// </summary>
		public JsonResponse<Stream> RequestJsonTestGetIncludeDateTimeField(JsonTestGetIncludeDateTimeFieldRequest request)
		{
			return RequestJsonTestGetIncludeDateTimeFieldAsync(request).Result;
		}
		
				
		JsonMethod<JsonTestTestFileRequest, Stream> _requestJsonTestTestFileMethod;
		/// <summary>
		/// This is a async request of \jsonTest\TestFile rest call. 
		///It returns JsonResponse&lt;Stream&gt;
		/// Here comes request Comments:
		///      asdasdijpaisdj
		///      asdasd
		///    
		/// </summary>
		public async Task<JsonResponse<Stream>> RequestJsonTestTestFileAsync (
			JsonTestTestFileRequest request,
			CancellationToken cancellationToken =default(CancellationToken),
			IProgress<ProgressReport> progress=null 
			)			
		{
			return await _requestJsonTestTestFileMethod.GetResponseAsync(request, cancellationToken, progress);
		}
		/// <summary>
		/// This is a sync request of \jsonTest\TestFile rest call.
		///It returns JsonResponse&lt;Stream&gt;
		/// Here comes request Comments:
		///      asdasdijpaisdj
		///      asdasd
		///    
		/// </summary>
		public JsonResponse<Stream> RequestJsonTestTestFile(JsonTestTestFileRequest request)
		{
			return RequestJsonTestTestFileAsync(request).Result;
		}
		
				
		JsonMethod<JsonTestTestGetRequest, Stream> _requestJsonTestTestGetMethod;
		/// <summary>
		/// This is a async request of \jsonTest\TestGet rest call. 
		///It returns JsonResponse&lt;Stream&gt;
		/// </summary>
		public async Task<JsonResponse<Stream>> RequestJsonTestTestGetAsync (
			JsonTestTestGetRequest request,
			CancellationToken cancellationToken =default(CancellationToken),
			IProgress<ProgressReport> progress=null 
			)			
		{
			return await _requestJsonTestTestGetMethod.GetResponseAsync(request, cancellationToken, progress);
		}
		/// <summary>
		/// This is a sync request of \jsonTest\TestGet rest call.
		///It returns JsonResponse&lt;Stream&gt;
		/// </summary>
		public JsonResponse<Stream> RequestJsonTestTestGet(JsonTestTestGetRequest request)
		{
			return RequestJsonTestTestGetAsync(request).Result;
		}
		
				
		JsonMethod<JsonTestTestNumRequest, Stream> _requestJsonTestTestNumMethod;
		/// <summary>
		/// This is a async request of \jsonTest\TestNum rest call. 
		///It returns JsonResponse&lt;Stream&gt;
		/// </summary>
		public async Task<JsonResponse<Stream>> RequestJsonTestTestNumAsync (
			JsonTestTestNumRequest request,
			CancellationToken cancellationToken =default(CancellationToken),
			IProgress<ProgressReport> progress=null 
			)			
		{
			return await _requestJsonTestTestNumMethod.GetResponseAsync(request, cancellationToken, progress);
		}
		/// <summary>
		/// This is a sync request of \jsonTest\TestNum rest call.
		///It returns JsonResponse&lt;Stream&gt;
		/// </summary>
		public JsonResponse<Stream> RequestJsonTestTestNum(JsonTestTestNumRequest request)
		{
			return RequestJsonTestTestNumAsync(request).Result;
		}
		
				
		JsonMethod<JsonTestTestPostRequest, Stream> _requestJsonTestTestPostMethod;
		/// <summary>
		/// This is a async request of \jsonTest\TestPost rest call. 
		///It returns JsonResponse&lt;Stream&gt;
		/// </summary>
		public async Task<JsonResponse<Stream>> RequestJsonTestTestPostAsync (
			JsonTestTestPostRequest request,
			CancellationToken cancellationToken =default(CancellationToken),
			IProgress<ProgressReport> progress=null 
			)			
		{
			return await _requestJsonTestTestPostMethod.GetResponseAsync(request, cancellationToken, progress);
		}
		/// <summary>
		/// This is a sync request of \jsonTest\TestPost rest call.
		///It returns JsonResponse&lt;Stream&gt;
		/// </summary>
		public JsonResponse<Stream> RequestJsonTestTestPost(JsonTestTestPostRequest request)
		{
			return RequestJsonTestTestPostAsync(request).Result;
		}
		
				
	}

}

 